#pragma once
#ifndef __PLATFORM_MISC_H__
#define __PLATFORM_MISC_H__
#include <platform_toolchain.h>
#include <cmsis_compiler.h>

#define PLATFORM_OFFSET_OF(type, member) ((size_t) & ((type *)0)->member)

#ifdef __cplusplus
extern "C"
{
#endif

    /**
     * @brief
     *
     * @return true 在中断
     * @return false 不在中断
     */
    PLATFORM_FORCEINLINE bool is_isr_mode(void)
    {
        return __get_IPSR() != 0U;
    }
#ifdef __cplusplus
}
#endif

#endif //!<__PLATFORM_MISC_H__
